@model BTCPayServer.Models.ServerViewModels.SSHServiceViewModel
@{
    ViewData.SetLayoutModel(new LayoutModel(nameof(ServerNavPages.Services), StringLocalizer["SSH settings"])
        .SetCategory(WellKnownCategories.Server));
}

<div class="sticky-header">
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="breadcrumb-item">
                <a asp-action="Services" text-translate="true">Services</a>
            </li>
            <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
        </ol>
        <h2>@ViewData["Title"]</h2>
    </nav>
</div>
<partial name="_StatusMessage" />
<p text-translate="true">SSH services are used by the maintenance operations.</p>
<div class="row">
    <div class="col-md-8">
        @if (!ViewContext.ModelState.IsValid)
        {
            <div asp-validation-summary="All"></div>
        }

        <div class="form-group">
            <div class="form-group">
                <label asp-for="CommandLine" class="form-label"></label>
                <input asp-for="CommandLine" class="form-control" readonly />
            </div>
            @if (!string.IsNullOrEmpty(Model.Password))
            {
                <div class="form-group">
                    <label asp-for="Password" class="form-label"></label>
                    <input asp-for="Password" class="form-control" readonly />
                </div>
            }
            @if (!string.IsNullOrEmpty(Model.KeyFilePassword))
            {
                <div class="form-group">
                    <label asp-for="KeyFilePassword" class="form-label"></label>
                    <input asp-for="KeyFilePassword" class="form-control" readonly />
                </div>
            }
        </div>
    </div>
</div>

@if (Model.SSHKeyFileContent != null)
{
    <h4 text-translate="true">Authorized keys</h4>
    <p text-translate="true">You can enter here SSH public keys authorized to connect to your server.</p>
    <div class="row">
        <div class="col-md-8">
            <form method="post">
                <div class="form-group">
                    <textarea asp-for="SSHKeyFileContent" rows="20" cols="80" class="form-control"></textarea>
                    <span asp-validation-for="SSHKeyFileContent" class="text-danger"></span>
                </div>
                <button name="command" id="submit" type="submit" class="btn btn-primary" value="Save">Save</button>
            </form>
        </div>
    </div>
}

<h4 class="mt-5 mb-3" text-translate="true">Other actions</h4>
<p text-translate="true">Increase the security of your instance by disabling the ability to change the SSH settings in this BTCPay Server instance's user interface.</p>
<div class="row">
    <div class="col-md-8">
        <form method="post">
            <button name="command" id="disable" type="submit" class="btn btn-outline-danger mb-5" value="disable" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-confirm-input="DISABLE" text-translate="true">Disable</button>
        </form>
    </div>
</div>

<partial name="_Confirm" model="@(new ConfirmModel(StringLocalizer["Disable modification of SSH settings"], StringLocalizer["This action is permanent and will remove the ability to change the SSH settings via the BTCPay Server user interface."], StringLocalizer["Disable"]))"/>

@section PageFootContent {
    <script>
        const disableButton = document.getElementById('disable')
        disableButton.dataset.action = window.location.href + '/disable'
        disableButton.addEventListener('click', event => {
            event.preventDefault()
        })
    </script>
}
